Network system, device server, and network system control method

ABSTRACT

An input control script embedded in a web page is received by a client terminal that accesses, using a web browser, a web application server on which a web application operates, and that controls an input device. The input control script comprises an acquisition request transmission unit that sends an acquisition request to the input device when a specific operation is performed on the web page from the web application server; an acquisition unit that acquires input information from the input device as a response to the acquisition request; and a drawing process unit that draws the input information acquired by the acquisition unit in a specific drawing area.

CONTINUING APPLICATION DATA

This application is a continuation of, and claims priority under 35 U.S.C. § 120 on, U.S. application Ser. No. 15/166,778, filed May 27, 2016, which is a continuation of U.S. application Ser. No. 14/000,380, filed Aug. 19, 2013, now U.S. Pat. No. 9,398,074, issued Jul. 19, 2016, which is a national stage entry of PCT/JP2012/000701, filed Feb. 2, 2012, which claims priority under 35 U.S.C. § 119 on Japanese patent application no. 2011-034278, filed Feb. 21, 2011. The content of each such related application is incorporated by reference herein in its entirety.

TECHNICAL FIELD

The present invention relates to a network system to which one or more input devices are connected for use, a device server, and a network system control method.

BACKGROUND ART

Devices such as scanners and printers are commonly used connected over a network to a computer, but device drivers for controlling the devices are required in order to use the devices. The device drivers are generally installed to the computer connected to the devices (see, for example, PTL1).

CITATION LIST Patent Literature

[PTL1] JP-A-2002-251347

SUMMARY OF INVENTION Technical Problem

However, because device driver operation depends on the OS (operating system) of the computer to which the device driver is installed, the user must install the device driver corresponding to the OS installed on the user's computer. However, the task of determining the OS that is used and installing software (device drivers) can be difficult for users that are not computer-savvy, and can be a significant burden. Reinstalling device drivers is also necessary when the computer is replaced. Another problem is that the device manufacturer must develop a device driver for each different computer OS, thus increasing development costs.

With consideration for the foregoing problem, an object of the present invention is to provide a network system enabling controlling an input device without requiring a device driver that depends on the computer environment, to a device server, and to a network system control method.

Solution to Problem

In one aspect, the invention involves an input control script embedded in a web page received by a client terminal that accesses, using a web browser, a web application server on which a web application operates, and that controls an input device. The input control script includes an acquisition request transmission unit that sends an acquisition request to the input device when a specific operation is performed on the web page from the web application server; an acquisition unit that acquires input information from the input device as a response to the acquisition request; and a drawing process unit that draws the input information acquired by the acquisition unit in a specific drawing area.

In one embodiment, the input control script further includes a stop operation request transmission unit that sends a stop operation request to the input device when stopping operation of the input device is selected on the web page from the web application server.

In one embodiment, the acquisition request transmission unit sends the acquisition request to a service endpoint address previously set in the input control script. The acquisition request contains identification of the input device.

In one embodiment, the acquisition unit continues the acquisition even when a selection window of the stopping operation is displayed on the web page from the web application server.

In one embodiment, the input control script is lost when stopping operation of the input device is selected on the web page from the web application server.

In another aspect, the invention is embodied in a method of controlling scanning by an input control script embedded in a web page received by a client terminal that accesses, using a web browser, a web application server on which a web application operates, and that controls an input device. The control method comprises an acquisition request transmission step that sends an acquisition request to the input device when a specific operation is performed on the web page from the web application server; an acquisition step that acquires input information from the input device as a response to the acquisition request; and a drawing process step that draws the input information acquired by the acquisition step in a specific drawing area.

In one embodiment of this method, it further comprises a stop operation request transmission step that sends a stop operation request to the input device when stopping operation of the input device is selected on the web page from the web application server.

These configurations enable acquiring input information from an input device by means of an input control script that is embedded in a web page. More specifically, because the input device can be controlled using a web browser (in a web page), an input device can be controlled by simply installing a web browser to the client terminal, and there is no need to install a device driver (a driver for the input device) on each client terminal as there is with the related art. The need to develop a plurality of device drivers for different operating systems is also eliminated for the manufacturer of the input device, and related development costs can therefore be reduced.

Furthermore, because a web browser is typically already installed on most modern client terminals (computers including personal computers and smartphones), even users that are not computer-savvy can easily use the input device without knowing the operating environment (the type of operating system) of the terminal being used by the user. Note that scanners and digital cameras are examples of input devices.

Other objects and attainments together with a fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 shows the configuration of a network system according to an embodiment of the invention.

FIG. 2 is a block diagram showing the functional configuration of the network system.

FIG. 3 is a flow chart describing steps in an image acquisition process and printing process on the network system.

FIG. 4 is a flow chart of steps in a process for handling an event that changes the web page during the image acquisition process.

DESCRIPTION OF EMBODIMENTS

A network system, device driver, and method of controlling a network system according to this embodiment of the invention are described below with reference to the accompanying figures. The network system according to this embodiment is a system that can run an image input process using a web browser without installing a dedicated device driver on the client terminal. Note that a scanner is used as an example of an image input device in this embodiment.

FIG. 1 shows the configuration of the network system SY. As shown in the figure, the network system SY includes a web application server 1, a client terminal 2 that accesses the web application server 1, a scanner 3 (image input device) that scans a specific document based on a request from the client terminal 2, a printer 4 that prints based on a request from the client terminal 2, and a removable interface board 5 (device driver) that is installed to the printer 4. The web application server 1 and client terminal 2 are connected so that they can communicate over the Internet. The client terminal 2 and interface board 5 are connected so that they can communicate over a LAN. The scanner 3 is connected through an communication unit 33 disposed to the interface board 5 installed in the printer 4. The client terminal 2 can thus communicate through the interface board 5 with the scanner 3 and printer 4.

Note that the method of connecting to the network (Internet or LAN) may be by wire or wireless. FIG. 1 also shows only one client terminal 2, scanner 3, and printer 4, but the invention is not so limited and any number of these can be used.

The web application server 1 has the hardware configuration of a general computer in addition to a control unit 11, storage unit 12, and communication unit 13. The main parts of the control unit 11 include a CPU (central processing unit), ROM (read-only memory), and RAM (random access memory). The CPU runs a program stored in ROM, and controls operation of the web application server 1. ROM stores control data and a control program enabling the CPU to execute various processes. RAM is used as working memory for the CPU to execute different processes. The storage unit 12 stores an HTTP server 14 and web application 15.

The communication unit 13 is an interface for communicating with the client terminal 2 (web browser 66). Communication between the web application server 1 and client terminal 2 is controlled by the HTTP server 14 using Hypertext Transfer Protocol (HTTP). More specifically, the web application server 1 receives an HTTP request from the client terminal 2 (web browser 66), and based on the URL (Uniform Resource Locator) contained in the HTTP request, sends a web page 21 provided by the web application 15 to the client terminal 2.

As described in detail below, in addition to a page control script 22 (JavaScript®) for controlling the web page 21, a printing control script 23 (JavaScript®) for controlling printing related to the web page 21, and a scanner control script 24 (JavaScript®, an image control script) that controls image input from the scanner 3, are included (embedded) in the webpage 21, and the client terminal 2 executes a printing process and an image acquisition process (image input process) by running the printing control script 23 and scanner control script 24 through the web browser 56 (on the web page 21). The printing control script 23 and scanner control script 24 can be contained on different web pages 21, or both may be contained on a single web page 21.

The interface board 5 includes a control unit 31, storage unit 32, communication unit 33, and board interface 34. The control unit 31 primarily includes a CPU and RAM. The CPU runs a program stored in the storage unit 32 and controls the interface board 5. RAM is used as working memory for the CPU to execute processes. The storage unit 32 is, for example, nonvolatile memory (such as flash ROM), and stores control data and control programs for the CPU to execute the processes. The storage unit 32 also an HTTP server 35.

The board interface 34 is a port for installation to the printer 4, and communication with the printer 3A passes through this board interface 34. The communication unit 33 is an interface for communicating with the client terminal 2 (web browser 66) and scanner 3, and comprises a group of interfaces compatible with different kinds of connections, such as a LAN interface and a USB interface.

The HTTP server 35 handles communication between the interface board 5 and the client terminal 2 (web browser 66) using HTTP. More specifically, when a process request for the scanner 3 (such as an image acquisition request or stop scanning request), or a process request for the printer 4 (such as a printing process request), is sent from the client terminal 2 to the service endpoint address (URI) assigned to the interface board 5, the interface board 5 sends a process command to the scanner 3 or printer 4 based on the received process request (as described in detail below).

The scanner 3 primarily includes a control unit 41, storage unit 42, image reader 43, and communication unit 44. The control unit 41 primarily includes a CPU and RAM. The CPU runs a program stored in the storage unit 42 and controls the scanner 3. RAM is used as working memory for the CPU to execute processes. The storage unit 42 is, for example, nonvolatile memory (such as flash ROM), and stores control data and control programs for the CPU to execute the processes.

The image reader 43 optically reads (scans) documents, such as text or photographs, placed on the document table (not shown) as controlled by the CPU. The communication unit 44 is an interface for communicating with the interface board 5, and comprises a group of interfaces compatible with different kinds of connections, such as a LAN interface and a USB interface. The scanner 3 receives an image acquisition command from the client terminal 2 through the interface board 5, scans the document, and then sends the result of scanning to the client terminal 2.

The printer 4 primarily includes a control unit 51, storage unit 52, print mechanism 53, and printer interface 54. The control unit 51 primarily includes a CPU and RAM. The CPU runs a program stored in the storage unit 52 and controls the printer 4. RAM is used as working memory for the CPU to execute processes. The storage unit 52 is, for example, nonvolatile memory (such as flash ROM), and stores control data and control programs for the CPU to execute the processes.

The print mechanism 53 includes a paper feed mechanism, printhead, and paper cutting mechanism, and performs a printing operation as controlled by the CPU. Any desired printing method may be used, including an inkjet or laser printing method. The board interface 54 is a port that connects to the interface board 5 (board interface 34), and communicates with the interface board 5. The printer 4 receives print data sent from the client terminal 2 through the interface board 5, and controls the print mechanism 53 to print based on the received print data.

The client terminal 2 primarily includes a control unit 61, storage unit 62, display unit 63, operating unit 64, and communication unit 65. The control unit 61 primarily includes a CPU and RAM. The CPU runs a program stored in the storage unit 62 and controls the client terminal 2. RAM is used as working memory for the CPU to run processes. The storage unit 62 is, for example, a HDD (hard disk drive) or nonvolatile memory (such as flash ROM), and stores control data and control programs used by the CPU to execute different processes. The storage unit 62 also stores a web browser 66.

The display unit 63 displays a web page 21 acquired (downloaded) by the web browser 66, and displays windows for reporting events accompanying operations performed in the web browser 66, as well as windows for configuring settings and selections. These windows could be displayed in the web page 21 displayed by the web browser 66, or displayed in a new web page 21. The operating unit 64 is an operating means for performing input operations (such as inputting text and drawing figures), and making selection/decision operations, image acquisition operations (scanning operations), and printing operations, in a web page 21 displayed by the web browser 66. Note that the display unit 63 and operating unit 64 may be rendered as separate elements, or rendered in unison by, for example, using a touch screen panel as the display unit 63.

The communication unit 65 is an interface for communication with the web application server 1 and interface board 5, and the client terminal 2 uses the web browser 66 to communicate with the devices. The web browser 66 is a simple browser (standard browser) with no plugin modules, and the client terminal 2 uses this web browser 66 to access the network-connected (Internet-connected) web application server 1 and receive web pages 21 provided by the web application 15.

The web page 21 includes a page control script 22, printing control script 23, and scanner control script 24 as described above, and when an image acquisition operation (such as pressing a scan button or clicking on a specific area) is performed by the user in the web browser 66 (on the web page 21), the web browser 66 runs the scanner control script 24 embedded in the web page 21, acquires (inputs) the image data from the scanner 3 through the interface board 5, and draws the image data in a specific drawing area. This drawing area is a drawing canvas (HTML5 canvas element) defined (set) in the page control script 22, for example.

When the user issues a print command (such as by pressing a print button) on the web page 21, the web browser 66 runs the printing control script 23 embedded in the web page 21, generates print data from the image data written in the drawing area, and sends the print data to the printer 4 through the interface board 5.

The client terminal 2 may be any computer on which the web browser 66 runs, and may be a mobile terminal (such as a cellular telephone or smartphone) or personal computer (PC), for example.

The functional configuration of the network system SY is described next with reference to FIG. 2. The client terminal 2 has a web page acquisition means 71 (web page acquisition unit), image acquisition request transmission means 72 (image acquisition request transmission unit), image acquisition means 73 (image acquisition unit), drawing process means 74 (drawing process unit), print data generation means 75 (print data generation unit), print process request transmission means 76 (print process request transmission unit), and event processing means 77 (selection window display unit, stop operation request transmission unit).

The web page acquisition unit 71 primarily includes the control unit 61 and web browser 66, accesses the web application server 1 (web application 15) through the web browser 66, and gets the desired web page 21 (the web page 21 containing the page control script 22, printing control script 23, and scanner control script 24).

The image acquisition request transmission means 72 primarily includes the control unit 61 and scanner control script 24, and runs the scanner control script 24 and sends an image acquisition request (scan request) to the scanner 3 when the user performs an image acquisition operation in the web page 21. More specifically, the image acquisition request transmission means 72 sends an image acquisition request containing scanner identification information (information such as a scanner ID or communication port) identifying a scanner 3 and scanning configuration information (such as the scanning area, resolution, color/gray scale/monochrome setting, the image processing method to use for scanning, and a time limit to complete processing) to the service endpoint address of the interface board 5. The service endpoint address of the interface board 5 and the scanner identification information are previously set in the scanner control script 24. The scanning configuration information is set by, for example, displaying a setup window on the web page 21 and the user inputting the settings in the setup window when the user performs an image acquisition operation.

The image acquisition means 73 primarily includes the control unit 61 and scanner control script 24, and acquires the image captured by the scanner 3 in response to the image acquisition request through the interface board 5. Note that the image acquisition means 73 interrupts image acquisition when the web page 21 is changed (when an unload event occurs) during scanning (while an image is being received). This is because the scanner control script 24, which is an element of the image acquisition means 73, is embedded in the web page 21, and the scanner control script 24 is lost when the web page 21 is changed.

The main parts of the drawing process means 74 are the control unit 61, page control script 22, and scanner control script 24, and the drawing process means 74 draws the image acquired from the scanner 3 (the image scanned by the scanner 3) in the drawing area by running the scanner control script 24. When the user performs an input operation on the web page 21 displayed by the web browser 66, the drawing process means 74 edits (processes) the image acquired from the scanner 3 or merges the acquired image with another image (an image selected by the user) by drawing the result of the user input (the result of inputting text or selecting an image, for example) in the drawing area by running the page control script 22.

The main parts of the print data generation means 75 are the control unit 61 and printing control script 23. When the user performs a print operation (such as pressing a print button) on the web page 21, the print data generation means 75 runs the printing control script 23 to convert the image data drawn in the drawing area to a form that can be processed by the printer 4, generating print data (such as a raster image command, bitmap file, or XML print data). The print data generation means 75 also temporarily stores the generated print data in a specific storage area (storage unit 62). Web storage, for example, can be used to temporarily store the print data.

The control unit 61 and printing control script 23 are the main parts of the print process request transmission means 76, which sends a printing process request to the printer 4. More specifically, the print process request transmission means 76 sends a printing process request containing printer identification information (such as the printer ID or communication port) identifying the printer 4, and the print data temporarily stored (generated) by the print data generation means 75, to the service endpoint address of the interface board 5. Note that the service endpoint address of the interface board 5 and the printer identification information are previously set in the printing control script 23. If the web page 21 is changed (if an unload event occurs) while the print data is being sent, the print process request transmission means 76 interrupts transmission. This is because the printing control script 23, which is an element of the print process request transmission means 76, is embedded in the web page 21, and the printing control script 23 is lost when the web page 21 is changed.

The event processing means 77 primarily includes the control unit 61, display unit 63, page control script 22, printing control script 23, and scanner control script 24, and reports various events to the user. More specifically, when a user operation causes an event that changes the displayed web page 21 (a before unload event) while the scanner control script 24 is running and an image is being acquired from the scanner 3 (while the scanner is operating), the event processing means 77 presents a message indicating that the scanner 3 is operating and displays an operation selection window (selection window display unit) for selecting whether or not to stop scanner 3 operation (whether to stop or continue scanner operation). If the user chooses to continue scanner operation in this operation selection window, changing the web page 21 is stopped. However, if the user chooses to stop scanner operation in this operation selection window, the event processing means 77 sends a request to stop scanner 3 operation (including scanner identification information) to the interface board 5, and displays a notice that the image acquisition process was interrupted (stop operation request transmission unit).

When a user operation causes an event that changes the displayed web page 21 while the printing control script 23 is running and the printing process is executing (while print data is being sent), the event processing means 77 presents a change confirmation window for selecting whether or not to change the web page 21. If the option that cancels changing the web page is selected by the user in this change confirmation window, changing the web page 21 is stopped. However, if the option that changes the web page is selected by the user in the change confirmation window, the event processing means 77 displays a notice indicating that print data transmission was interrupted.

The interface board 5 has a process request receiving means 81 (image acquisition request receiving unit, print data receiving unit), process command means 82 (print control unit), and board-side image transmission means 83 (image transmission unit). The process request receiving means 81 primarily includes the control unit 31 and HTTP server 35, and receives process requests (such as the printing process request, image acquisition request, and stop operation request) from the client terminal 2 (printing control script 23 and scanner control script 24). The process command means 82 primarily includes the control unit 31, and sends commands to the scanner 3 or printer 4 based on the process request received by the process request receiving means 81. More specifically, when the process request from the client terminal 2 is a printing process request, the process command means 82 sends print data to the printer 4 specified by the printer identification information. When the process request from the client terminal 2 is an image acquisition request, the process command means 82 sends a command based on the image acquisition request to the scanner 3 specified by the scanner identification information. When the process request from the client terminal 2 is a stop operation request, the process command means 82 sends a command based on the stop operation request to the scanner 3 specified by the scanner identification information. The board-side image transmission means 83 primarily includes the control unit 31 and HTTP server 35, and receives and sends the image captured by the scanner 3 to the client terminal 2.

The scanner 3 primarily includes an image reading means 91, scanner-side image transmission means 92, and image reading interruption means 93. The image reading means 91 primarily includes a control unit 41 and image reader 43, and based on an image acquisition command (image acquisition request) received from the interface board 5, scans the document set on the document table with the image reader 43. The scanner-side image transmission means 92 primarily includes the control unit 41, and sends the image captured by the image reading means 91 to the interface board 5. The image reading interruption means 93 primarily includes the control unit 41 and image reader 43, and based on a stop operation command (stop operation request) received from the interface board 5 stops (interrupts) scanning by the image reader 43.

The printer 4 has a printer-side print data receiving means 101 and printing means 102. The printer-side print data receiving means 101 primarily includes a control unit 51, and receives print data sent from the client terminal 2 through the interface board 5. The printing means 102 primarily includes the control unit 51 and print mechanism 53, and prints images based on the received print data. The printing means 102 prints in the printing process after all print data sent from the client terminal 2 has been received. More specifically, the print data sent from the client terminal 2 is temporarily stored to a specific storage area in the storage unit 52, and the stored print data is then read and printed.

Steps in the image acquisition process (image input process) and printing process in this network system SY are described next with reference to the flow chart in FIG. 3. First, the client terminal 2 (control unit 61) accesses the web application server 1 (web application 15) based on user operations in the web browser 66, gets the desired web page 21 (the web page 21 containing the page control script 22, printing control script 23, and scanner control script 24), and displays the web page 21 in the web browser 66 (S01, web page acquisition step).

When the user then performs an image acquisition operation on the web page 21 (such as clicking a scan button displayed on the web page 21), the client terminal 2 acquires an image acquisition command accompanying the image acquisition operation by means of the page control script 22 (S02). Triggered by acquiring this image acquisition command, the scanner control script 24 is called from the page control script 22, and the image acquisition process starts.

More specifically, the client terminal 2 sends an image acquisition request to the interface board 5 (the service endpoint address of the interface board 5) by executing the scanner control script 24 (S03, image acquisition request transmission step). Identification information (scanner identification information) for the desired scanner 3, and the configuration information for scanning operation, are contained in this image acquisition request.

The interface board 5 (control unit 31) then receives the image acquisition request (S04, image acquisition request reception step), and issues a command (scan command) to the specified scanner 3 based on the image acquisition request (S05). The scanner 3 (control unit 41) that received the scan command from the interface board 5 controls the image reader 43 to start the document scanning process (S06), and sends the scanned image through the interface board 5 to the client terminal 2 (S07, S08, image transmission step).

Once the image that was captured by the scanner 3 is received from the interface board 5 (S09, image acquisition step), the client terminal 2 draws the image in the drawing area (S10). After the image is drawn and the user then performs a specific input operation on the web page 21, the client terminal 2 receives the input operation according to the page control script 22 embedded in the web page 21, and draws the result of the received input operation in the drawing area. More specifically, processes such as editing the image acquired from the scanner 3 or merging the image with another image selected by the user can be performed. Process control when an event that changes the web page 21 occurs as a result of user operation of the browser during the image acquisition process (while scanning) is described below with reference to FIG. 4.

If the user calls a printing operation from the web page 21 after the image is drawn in S10 (such as by clicking a print button on the web page 21), the client terminal 2 receives a print command resulting from the printing operation from the page control script 22 (S11). Triggered by getting this print command, the printing control script 23 is called from the page control script 22, and the printing process starts.

More specifically, the client terminal 2 image processes (such as digitizing and gathering) the image drawn in the drawing area according to the printing control script 23 (S12), converts the image data to print data in a form that can be processed by the printer 4 (S13), and saves the resulting print data in the storage unit 62 (S14). Steps S13 and S14 repeat until print data generation is completed, that is, until all image data drawn in the drawing area is converted to print data (S15 returns No).

When print data generation is completed (S15 returns Yes), the client terminal 2 sends a printing process request to the interface board 5 (the service endpoint address of the interface board 5) by running the printing control script 23 (S16). Identification information (printer identification information) for the desired printer 4, and the print data stored in the storage unit 62, are included in this printing process request.

When the printing process request from the client terminal 2 is received (S17), the interface board 5 sends the print data to the printer 4 specified by the printer identification information (S18). After the print data is received from the interface board 5 (S19), the printer 4 (control unit 51) saves the print data in the storage unit 52 (S20). Steps S19 and S20 repeat until all print data is received (S21 returns No). After all print data is received (S21 returns Yes), the printer 4 reads and prints based on the saved print data (prints an image) (S22).

The steps performed when an event that changes the web page 21 is generated while the client terminal 2 is receiving an image from the scanner 3 (during the scanning process) is described next with reference to the flow chart in FIG. 4. Note that a special process is not performed when an event that changes the web page 21 is not generated, and description thereof is omitted in the following description of the flow chart in FIG. 4.

The client terminal 2 (control unit 61) first starts the image acquisition process of the scanner 3 by means of the scanner control script 24 (S31). If an event that changes the displayed web page 21 (that is, the web page 21 in which the currently executing scanner control script 24 is embedded) to another page is generated by the user using the web browser 66 (S32 returns Yes), the client terminal 2 continues image acquisition by running the scanner control script 24 while simultaneously displaying a message indicating that the scanner 3 is operating and an operation selection window for selecting whether or not to stop the scanning operation of the scanner 3 (S33).

If continuing the scanning operation is selected by the user in this operation selection window (S34 returns No), the client terminal 2 continues the image acquisition process by running the scanner control script 24, and when all image data has been received (S35 returns Yes), ends the image acquisition process (S36). However, if stopping the scanning operation is selected by the user in this operation selection window (S34 returns Yes), the client terminal 2 sends a stop operation request to the scanner 3 (S37), interrupts the image acquisition process (S38) in conjunction with losing the scanner control script 24, and displays a message indicating that the image acquisition process was stopped (S39). By thus displaying an operation selection window when an event that changes the web page 21 occurs, unintended interruption of the image acquisition process (image input from the scanner 3) resulting from the user accidentally changing the web page can be prevented.

As described above, this embodiment enables acquiring a specific image from a scanner 3 (image input device) using a scanner control script 24 (image input control script) embedded in a web page 21. More specifically, because a scanner 3 can be controlled using a web browser 66 (from within a web page 21), the scanner 3 can be controlled by simply installing a web browser 66 on the client terminal 2, and, unlike with the related art, there is no need to install a device driver (a scanner driver) on each client terminal 2. There is also no need for the manufacturer supplying the scanner 3 to develop plural device drivers for different different operating systems, and the related development cost can be reduced.

Furthermore, because a web browser 66 is typically already installed on most modern client terminals 2 (computers including personal computers and smartphones), even users that are not computer-savvy can easily use the scanner 3 without knowing the operating environment (the type of operating system) of the terminal being used by the user.

This embodiment is described using a scanner 3 as an example of an image input device, but the invention is not so limited. For example, a digital camera (camera) could be used as an image input device. In this implementation, an image input control script that controls (requests a process) selecting files and acquiring images stored in the camera, and controls (requests a process) acquiring a directory of files stored in the camera, is embedded in the web page 21 and used to control the camera.

The identification information that identifies (specifies) the scanner 3 or printer 4 is predefined in the scanner control script 24 and printing control script 23 in this embodiment, but the invention is not so limited. For example, when plural scanners 3 and printers 4 are connected and can be used, the user could be made to select the desired scanner 3 or printer 4 from a device list (a list of scanners or a list of printers), and identification information for the selected scanner 3 or printer 4 sent to the interface board 5 by the corresponding control script.

This embodiment describes a configuration in which the interface board 5 is installed to the printer 4, but the invention is not so limited and a configuration having the interface board 5 installed to the scanner 3 is also conceivable. In this implementation an interface for connecting to the board interface 34 of the interface board 5 is disposed to the scanner 3, and an interface that communicates with the communication unit 33 of the interface board 5 is disposed to the printer 4.

The means (functions) of the interface board 5 in this embodiment can alternatively be rendered by a common personal computer (device server). Further alternatively, a configuration in which the above means are disposed to the scanner 3 and printer 4 is also conceivable.

Elements of the network system SY (client terminal 2 and interface board 5) described above can also be provided as a program. This program can also be provided stored on a storage medium (not shown in the figure). Examples of such storage media include CD-ROM, flash ROM, memory cards (Compact Flash®, smart media, memory sticks), Compact Discs, magneto-optical discs, Digital Versatile Discs, and floppy disks.

The hardware configuration of the network system SY and process steps are also not limited to the foregoing embodiment, and can be changed as desired without departing from the scope of the invention.

REFERENCE SIGNS LIST

-   1 web application server -   2 client terminal -   3 scanner -   4 printer -   5 interface board -   15 web application -   21 web page -   22 page control script -   23 printing control script -   66 web browser -   71 web page acquisition means -   72 image acquisition request transmission means -   73 image acquisition means -   74 drawing process means -   75 print data generation means -   76 print process request transmission means -   77 event processing means -   81 process request receiving means -   82 process command means -   83 board-side image transmission means -   SY network system 

The invention claimed is:
 1. A non-transitory computer readable medium that stores an input control script embedded in a web page received by a client terminal that, when executed by a controller, causes the controller to access, using a web browser, a web application server on which a web application operates, and to control an input device, the input control script comprising: an acquisition request transmission unit that, when executed by the controller, causes the controller to send an acquisition request to the input device when a specific operation is performed on the web page from the web application server; an event processing unit that, when executed by the controller, causes the controller to display a selection window of a stopping operation on the web page from the web application server responsive to detection of a web page change event; an acquisition unit that, when executed by the controller, causes the controller to acquire input information from the input device as a response to the acquisition request, and wherein the acquisition unit, when executed by the controller, causes the controller to continue the acquisition after the detection of a web page change event and while the selection window of the stopping operation is displayed on the web page from the web application server; a drawing process unit that, when executed by the controller, causes the controller to draw the input information acquired by the acquisition unit in a specific drawing area; and a stop operation request transmission unit that, when executed by the controller, causes the controller to send a stop operation request to the input device when stopping operation of the input device is selected on the web page from the web application server.
 2. The non-transitory computer readable medium described in claim 1, wherein: the acquisition request transmission unit, when executed by the controller, causes the controller to send the acquisition request to a service endpoint address previously set in the input control script, the acquisition request containing identification of the input device.
 3. The non-transitory computer readable medium described in claim 1, wherein: the input control script is lost when stopping operation of the input device is selected on the web page from the web application server.
 4. A method of controlling scanning by an input control script embedded in a web page received by a client terminal that accesses, using a web browser, a web application server on which a web application operates, and that controls an input device, the method comprising: sending, as at least part of an acquisition request transmission step, an acquisition request to the input device when a specific operation is performed on the web page from the web application server; detecting a web page change event; displaying a selection window of a stopping operation on the web page from the web application server responsive to the detecting of the web page change event; acquiring, as at least part of an acquisition step, input information from the input device as a response to the acquisition request, and continuing the acquisition after the detecting the web page change event and while the selection window of a stopping operation is displayed on the web page from the web application server; and drawing, as at least part of a drawing process step, the input information acquired by the acquisition step in a specific drawing area.
 5. The method for controlling scanning by an input control script described in claim 4, further comprising: sending, as at least part of a stop operation request transmission step, a stop operation request to the input device when stopping operation of the input device is selected on the web page from the web application server.
 6. A non-transitory computer readable medium that stores an input control script embedded in a web page received by a client terminal that, when executed by a controller, causes the controller to access, using a web browser, a web application server on which a web application operates, and to control an input device, the input control script comprising: an acquisition request transmission unit that, when executed by the controller, causes the controller to send an acquisition request to the input device when a specific operation is performed on the web page from the web application server; an acquisition unit that, when executed by the controller, causes the controller to acquire input information from the input device as a response to the acquisition request; a drawing process unit that, when executed by the controller, causes the controller to draw the input information acquired by the acquisition unit in a specific drawing area; and a stop operation request transmission unit that, when executed by the controller, causes the controller to send a stop operation request to the input device when stopping operation of the input device is selected on the web page from the web application server, wherein the acquisition unit, when executed by the controller, further causes the controller to continue the acquisition even when a selection window of the stopping operation is displayed on the web page from the web application server, and wherein the input control script is lost when stopping operation of the input device is selected on the web page from the web application server.
 7. The non-transitory computer readable medium described in claim 6, wherein: the acquisition request transmission unit, when executed by the controller, causes the controller to send the acquisition request to a service endpoint address previously set in the input control script, the acquisition request containing identification of the input device. 